Field of the Invention
Embodiments of the present invention generally relate to computer-aided design (CAD) and, more specifically, to techniques for adaptively merging intersecting meshes.
Description of the Related Art
A wide variety of software applications are currently available to end-users, including computer-aided design (CAD) applications, computer graphics applications, and three-dimensional (3D) modeling applications, among others. Many of these software applications allow an end-user to create and modify 2D and/or 3D designs. For example, an end-user may interact with a 3D modeling application to add geometry to a design, remove geometry from a design, extrude portions of the design, or join two or more designs. Such operations typically are performed by modifying a mesh of primitives (e.g., triangles) associated with the design.
In conventional software applications, merging two meshes typically requires the end-user to painstakingly prepare and modify each mesh. For example, merging two meshes may require the end-user to manually prepare the mesh boundaries at which the meshes are to be merged such that each vertex on the boundary of the first mesh matches up with a vertex on the boundary of the second mesh. Consequently, conventional software applications typically are unable to produce satisfactory results when attempting to merge meshes having different resolutions (e.g., different vertex/triangle densities). Additionally, even when processing meshes having similar resolutions, conventional software applications introduce significant mesh distortions and irregularities during the merging process. Such irregularities may produce numerical and computational issues and/or produce visual artifacts during subsequent processing of the mesh. Moreover, repairing mesh triangles affected by the merging process can be tedious and time-consuming for the end-user.
As the foregoing illustrates, there is a need in the art for a more effective way to enable application end-users to merge different meshes of primitives.